package io.gitee.sfch.chunmi.dao.system.entity;

import com.mybatisflex.annotation.Table;
import io.gitee.sfch.chunmi.entity.MutableEntity;
import io.gitee.sfch.chunmi.common.enums.StatusEnum;
import io.gitee.sfch.chunmi.common.enums.BooleanEnum;
import io.gitee.sfch.chunmi.dao.system.enums.SystemMenuTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 系统菜单
 */
@Data
@Table("system_menu")
@EqualsAndHashCode(callSuper = true)
public class SystemMenu extends MutableEntity {

    /**
     * 产品ID
     */
    protected Long productId;

    /**
     * 父菜单ID，0表示根菜单
     */
    private Long parentId;

    /**
     * 菜单名称
     */
    private String menuName;

    /**
     * 菜单类型(1:目录 2:菜单 3:按钮)
     */
    private SystemMenuTypeEnum menuType;

    /**
     * 显示顺序
     */
    private Integer menuSort;

    /**
     * 路由地址
     */
    private String path;

    /**
     * 是否为外链(0:否 1:是)
     */
    private BooleanEnum isFrame;

    /**
     * 菜单展示(0:隐藏 1:显示)
     */
    private BooleanEnum visible;

    /**
     * 状态(0:停用 1:正常)
     */
    private StatusEnum status;

    /**
     * 权限标识
     */
    private String auth;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 备注
     */
    private String remark;
}